﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 装饰模式
{
    /// <summary>
    /// 装饰模式，用了多重继承
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            Phone phone = new ApplePhone(); //买了苹果手机
           Decorator appleSticker= new Sticker(phone);  //给苹果手机 贴膜
           appleSticker.Print();
           Console.WriteLine("----------------------\n");

           Decorator appleAccessories = new Accessories(phone);//给苹果手机 挂件
           appleAccessories.Print();
           Console.WriteLine("----------------------\n");

           // 现在我同时有贴膜和手机挂件了。。
           Decorator  sticker = new Sticker(phone);
           Decorator  appleWithAccAndSt = new Accessories(sticker);
           appleWithAccAndSt.Print();

           Console.ReadLine();
        }
    }

  

   
}
